#pragma once
#include "FileDescriptorFwd.h"
#include "FileDevice.h"
#include "ImportExport.h"

namespace ja2{ namespace vfs
{
	//! Proxy for File clas.
	class FileProxy
	{
		// Attributes
	private:
		//! File descriptor.
		FileDescriptorPtr_t m_pDesriptor;

		// Operations
	public:
		//! Get file path.
		boost::filesystem::path const &get_path() const;
		//! Get file.
		JA2_VFS_API FileDevice open(std::ios_base::openmode Mode) const;

		// Construction/Destruction
	public:
		FileProxy(FileDescriptorPtr_t const &pRight = FileDescriptorPtr_t());
	};
} /*vfs*/} /*ja2*/
